.\"
.\" Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
.\" Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
.\" details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
.\"
.PU
.TH GSM_OPTION 3 
.SH NAME
gsm_option() \(em customizing the GSM 06.10 implementation
.SH SYNOPSIS
#include "gsm.h"
.PP
int gsm_option(handle, option, valueP);
.br
gsm handle;
.br
int option;
.br
int * valueP;
.SH "DESCRIPTION"
Gsm is an implementation of the final draft GSM 06.10
standard for full-rate speech transcoding, a lossy
speech compression algorithm.
.PP
The gsm_option() function can be used to set and query various
options or flags that are not needed for regular GSM 06.10 encoding
or decoding, but might be of interest in special cases.
.PP
The second argument to gsm_option says what option should be
changed. 
The third argument is either a null pointer, in which case
the option is not changed, just returned;
or it is a pointer to an integer containing the value
you want to set, in which case the previous value will
be returned.
.PP
The following options are currently defined:
.PP
.I GSM_OPT_VERBOSE
Change or query the GSM 06.10 implementation's verbosity level.
.br
.in+5
This option is only supported if the library was compiled
with debugging turned on, and may be used by developers of
compression algorithms to aid debugging.
.br
The verbosity level can be changed at any time during encoding or decoding.
.in-5
.sp
.I GSM_OPT_FAST
Enable, disable or query a faster compression algorithm.
.br
.in+5
This implementation offers a not strictly standard-compliant, but
faster compression algorithm that is compatible with the regular
method.
.br
The value passed to 
.br
.nf
	gsm_option(handle, GSM_OPT_FAST, & value)
.nf
.br 
functions as a boolean flag; if it is zero, the regular algorithm
will be used, if not, the faster version will be used.
.br
The availability of this option depends on the hardware used;
if it is not available, gsm_option will return -1 on an attempt
to set or query it.
.br
This option can be changed any time during encoding or decoding.
.in-5
.SH "RETURN VALUE"
gsm_option() returns -1 if an option is not supported, the
previous value of the option otherwise.
.SH BUGS
Please direct bug reports to toast@tub.cs.tu-berlin.de.
.SH "SEE ALSO"
toast(1), gsm(3), gsm_explode(3), gsm_print(3)
